import { prop_cur_req_user_identity } from '../../../../../../../../../Classes/cla_req_cur_headers_info';
import { get_mdb_user_uni_float_identity_type_active } from '../../../DataDefine/get_mdb';
import { mdb_identity_uni_float_active } from '../Classes/cla_mdb_identity_uni_float_active';
import { req_cur_user_active_uni_float_info } from '../Classes/cla_req_cur_user_active_uni_float_info';

/**
 * 添加 当前浮动元素 到 用户 浮动元素 身份 表 -- 类型 -- 活动
 * @param uni_float_info 浮动元素 信息
 */
export async function update_cur_user_uni_float_identity_type_active_isUsing(
  uni_float_info: req_cur_user_active_uni_float_info
) {
  /**
   * 创建 类型 的 用户 浮动元素 身份 表
   */
  let mdb_cur_user_uni_float_identity_type_active =
    get_mdb_user_uni_float_identity_type_active(
      uni_float_info[prop_cur_req_user_identity]
    );

  let changed_id_arr: string[] = [];

  let uni_p = async (cur_uni_float_id: string) => {
    /**
     * 浮动元素 身份 简易信息
     */
    let identity_empty_cur_uni_float_info = new mdb_identity_uni_float_active(
      uni_float_info
    );

    // 修改 信息
    let ret = await mdb_cur_user_uni_float_identity_type_active.updateOne(
      { id: cur_uni_float_id },
      identity_empty_cur_uni_float_info
    );

    if (ret.matchedCount == 1) {
      changed_id_arr.push(cur_uni_float_id);
    }
  };

  for (const cur_uni_float_id of uni_float_info.active_uni_float_arr) {
    await uni_p(cur_uni_float_id);
  }

  return changed_id_arr;
}
